#pragma once
#include "monoeffectxapo.h"

class ReverberationMonoXAPO :
	public MonoEffectXAPO
{
public:

	ReverberationMonoXAPO(int num, IXAudio2SourceVoice* pVoice);
	virtual ~ReverberationMonoXAPO(void);

	virtual HRESULT apply(BYTE* buffer = NULL, DWORD BufferSize = 0, WAVEFORMATEXTENSIBLE* pWfx = NULL);
	
	virtual float SetDiffusion(float);
	virtual float GetDiffusion(void);

	virtual float SetRoomSize(float);
	virtual float GetRoomSize(void);
private:
	IUnknown * pXAPO;
	XAUDIO2_EFFECT_DESCRIPTOR descriptor;
	XAUDIO2_EFFECT_CHAIN chain;
	FXREVERB_PARAMETERS XAPOParameters;
};

